package com.xbongbong.paas.service;

import com.xbongbong.paas.pojo.DetailTabPojo;
import com.xbongbong.paas.pojo.WorkFlowPojo;
import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.paas.toolbox.wrap.UserVO;
import com.xbongbong.paas.field.LinkListPojo;
import com.xbongbong.pro.form.pojo.TopPermissionsPoJo;
import com.xbongbong.pro.formexplain.pojo.dto.HandlerExplainDTO;
import com.xbongbong.pro.formexplain.pojo.vo.HandlerExplainVO;

import java.util.List;

/**
 * @author 吴峰
 * @date 2022/03/11 11:03
 */
public interface LinkListService {

    /**
     * 公共tab
     * @param corpid
     * @param loginUser
     * @param handlerExplainVO
     * @param businessType
     * @param del
     * @param linkList
     * @return java.util.List<com.xbongbong.paas.pojo.DetailTabPojo>
     * @author 吴峰
     * @date 2022/3/11 13:55
     * @throws XbbException
     */
    List<DetailTabPojo> commonTab(String corpid, UserVO loginUser, HandlerExplainVO handlerExplainVO, HandlerExplainDTO handlerExplainDTO, Integer businessType, Integer del, List<LinkListPojo> linkList) throws XbbException;

    /**
     * 获取按钮
     * @param linkList
     * @param del
     * @param loginUser
     * @param appId
     * @param formId
     * @param businessType
     * @param saasMark
     * @param corpid
     * @return list
     * @author 吴峰
     * @date 2022/3/11 13:55
     * @throws XbbException
     */
    List<WorkFlowPojo>  getCommonButton(List<LinkListPojo> linkList, Integer del, UserVO loginUser, Long appId, Long formId, Integer businessType, Integer saasMark, String corpid) throws XbbException;

    /**
     * 手机端按钮获取
     * @param linkList
     * @param del
     * @param loginUser
     * @param appId
     * @param formId
     * @param businessType
     * @param saasMark
     * @param corpid
     * @return
     * @throws XbbException
     */
    List<TopPermissionsPoJo> getDingtalkCommonButton(List<LinkListPojo> linkList, Integer del, UserVO loginUser, Long appId, Long formId, Integer businessType, Integer saasMark, String corpid) throws XbbException;
}
